.bin-cascader {
  &-panel {
    display: flex;
    border-radius: var(--bin-border-base-radius);
    font-size: var(--bin-base-font-size);
    &.is-bordered {
      border: var(--bin-border-base);
      border-radius: var(--bin-border-base-radius);
    }
  }
  &-node {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 24px 0 16px;
    height: 34px;
    line-height: 34px;
    outline: 0;
    color: var(--bin-color-text-default);
    transition: background var(--bin-animation-duration-base) ease-in-out;
    &.is-disabled {
      color: #C0C4CC;
      cursor: not-allowed
    }
    &:not(.is-disabled) {
      cursor: pointer;
    }
    &:not(.is-disabled):hover {
      background: var(--bin-color-select-hover);
    }
    &.is-selectable.in-active-path {
      color: #606266
    }
    &.in-active-path, &.is-active, &.is-selectable.in-checked-path {
      color: var(--bin-color-primary);
      font-weight: 500;
    }
    &__prefix {
      position: absolute;
      left: 8px
      font-weight: normal;
    }
    &__postfix {
      position: absolute;
      right: 10px;
      font-size: 14px;
      font-weight: normal;
      color: var(--bin-color-text-placeholder);
    }
    &__label {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
      text-align: left;
      padding: 0 10px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis
    }
    > .bin-radio .bin-radio__label {
      padding: 0;
    }
  }
  &-menu {
    display: inline-block;
    min-width: 150px;
    margin: 0;
    vertical-align: top;
    box-sizing: border-box;
    border-right: var(--bin-border-base);
    &:last-child {
      border-right-color: transparent;
      margin-right: -1px;
      .bin-cascader-node {
        padding-right: 20px
      }
    }
    &__wrap {
      height: 204px
    }
    &__list {
      position: relative;
      min-height: 100%;
      margin: 0;
      padding: 5px 0;
      list-style: none;
      box-sizing: border-box
    }
    &__hover-zone {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none
    }
    &__empty-text {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      text-align: center;
      color: #C0C4CC;
    }
  }
}
